home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / utilbill.arc / UTILBILL.BAS next >
Encoding:
BASIC Source File  |  1986-04-26  |  3.6 KB  |  161 lines

  1. 90 DIM A$(4),B$(4),L1(3),L2(3),M(4),R1(3),R2(3),R3(3),W(50),Z(4)
  2. 100 GOTO 340
  3. 110 A1=0
  4. 120 PRINT'INPUT ADJUSTMENTS TO BILL(+ OR {SPACE}- ,'0' WHEN DONE)"
  5. 130 INPUT E
  6. 140 A1=A1+E
  7. 150 IF E=0 THEN 170
  8. 160 GOTO 130
  9. 170 GOSUB 250
  10. 180 GOSUB 290
  11. 190 RETURN
  12. 200 PRINT"{CLR}"
  13. 210 RETURN
  14. 220 PRINT "{2 SPACES}";A$(X);" BILL(CONT')"
  15. 230 PRINT
  16. 240 RETURN
  17. 250 FOR I=1 TO 3
  18. 260 PRINT
  19. 270 NEXT I
  20. 280 RETURN
  21. 290 PRINT"INPUT C TO CONTINUE";
  22. 300 INPUT C$
  23. 310 GOSUB 200
  24. 320 RETURN
  25. 340 FOR I=1 TO 4
  26. 350 READ N(I)
  27. 360 NEXT I
  28. 370 FOR I=1 TO 3
  29. 380 READ A$(I),B$(I),M(I),Z(I),L1(I),L2(I),R1(I),R2(I),R3(I)
  30. 390 NEXT I
  31. 400 READ A$(4),M(4),Z(4)
  32. 410 GOSUB 200
  33. 420 PRINT"{2 SPACES}UTILITY BILL AUDIT"
  34. 430 GOSUB 250
  35. 440 PRINT" 1. ELECTRIC BILL"
  36. 450 PRINT" 2. GAS BILL"
  37. 460 PRINT" 3. WATER BILL"
  38. 470 PRINT" 4. PHONE BILL"
  39. 480 PRINT" 5. ALL OF THE ABOVE"
  40. 490 PRINT" 6. EXIT"
  41. 500 PRINT
  42. 510 PRINT
  43. 520 PRINT" CHOOSE AN OPTION ";
  44. 530 INPUT P
  45. 540 IF (P<1)+(P>6) THEN 530
  46. 550 ON P GOTO 1020,1050,1080,1110,1590,1690
  47. 560 GOSUB 200
  48. 570 PRINT"{4 SPACES}";A$(X);" BILL"
  49. 580 PRINT
  50. 590 PRINT"PREVIOUS METER READING"
  51. 600 INPUT E1
  52. 610 PRINT
  53. 620 PRINT"PREVIOUS METER READING"
  54. 630 INPUT E2
  55. 640 PRINT
  56. 650 PRINT"INPUT DAYS IN THE BILLING PERIOD"
  57. 660 INPUT D
  58. 670 GOSUB 250
  59. 680 GOSUB 290
  60. 690 GOSUB 200
  61. 700 GOSUB 220
  62. 710 GOSUB 110
  63. 720 U=E2-E1
  64. 730 Y=U/D
  65. 740 IF U>L2(X) THEN 800
  66. 750 IF U>L1(X) THEN 780
  67. 760 T=M(X)+R1(X)*U
  68. 770 GOTO 810
  69. 780 T=M(X)+R1(X)*L1(X)+R2(X)*(U-L1(X))
  70. 790 GOTO 810
  71. 800 T=M(X)+R1(X)*L1(X)+R2(X)*(L2(X)-L1(X))+R3(X)*(U-L2(X))
  72. 810 T1=T*Z(X)
  73. 820 T2=T+T1
  74. 830 T3=T2+A1
  75. 840 GOSUB 200
  76. 850 GOSUB 220
  77. 860 PRINT "USE FOR THE PERIOD IS ";INT(U*100)/100;" ";B$(X)
  78. 870 PRINT
  79. 880 PRINT "USE/DAY IS ";INT(Y*100)/100;"{SPACE}";B$(X);" OR $";
  80. 890 PRINT INT(T2/D*100)/100;"/DAY INCLUDING TAX"
  81. 900 PRINT
  82. 910 PRINT A$(X);" BILL:"
  83. 920 PRINT " W/OUT TAX{2 SPACES}:$";INT(T*100)/100
  84. 930 PRINT " TAX IS{5 SPACES}:$";INT(T1*100)/100
  85. 940 PRINT " ADJ'TS{5 SPACES}:$";A1
  86. 950 PRINT
  87. 960 PRINT "{2 SPACES}*TOTAL*{3 SPACES}:$";INT(T3*100)/100
  88. 970 IF N(X)=1 THEN 990
  89. 980 PRINT "SPLIT";N(X);" WAYS:$";INT(T3/N(X)*100)/100
  90. 990 PRINT
  91. 1000 GOSUB 290
  92. 1010 RETURN
  93. 1020 X=1
  94. 1030 GOSUB 560
  95. 1040 GOTO 430
  96. 1050 X=2
  97. 1060 GOSUB 560
  98. 1070 GOSUB 430
  99. 1080 X=3
  100. 1090 GOSUB 560
  101. 1100 GOTO 430
  102. 1110 GOSUB 200
  103. 1120 X=4
  104. 1130 PRINT "{5 SPACES}";A$(X);" BILL"
  105. 1140 PRINT
  106. 1150 GOSUB 110
  107. 1160 FOR K=1 TO N(X)
  108. 1170 I=1
  109. 1180 IF N(X)=1 THEN 1200
  110. 1190 PRINT "FOR PERSON #";K;",";
  111. 1200 PRINT "INPUT CHARGE FOR EACH LONG DISTANCE CALL (INPUT '0' WHEN DONE)"
  112. 1210 INPUT W(I)
  113. 1220 IF W(I)=0 THEN 1250
  114. 1230 I=I+1
  115. 1240 GOTO 1210
  116. 1250 GOSUB 200
  117. 1260 PRINT " PERSON #";K;",";
  118. 1270 FOR J=1 TO I-1
  119. 1280 PRINT "CALL #";J;"{2 SPACES}:$";W(J)
  120. 1290 PRINT
  121. 1300 PRINT "IS THIS CORRECT (Y/N)"
  122. 1310 INPUT C$
  123. 1320 IF C$+"Y" THEN 1350
  124. 1330 PRINT "TYPE IN CORRECTION"
  125. 1340 INPUT W(J)
  126. 1350 PRINT
  127. 1360 NEXT J
  128. 1370 GOSUB 200
  129. 1380 GOSUB 220
  130. 1390 T=0
  131. 1400 FOR J=1 TO I-1
  132. 1410 T=T+W(J)
  133. 1420 NEXT J
  134. 1430 PRINT "SERVICE:{3 SPACES}$";INT(M(X)/N(X)*100)/100
  135. 1440 PRINT
  136. 1450 PRINT "LD CALLS:{2 SPACES}$";T
  137. 1460 PRINT
  138. 1470 PRINT "ADJ'TS:{3 SPACES}$";INT(A1/N(X)*100)/100
  139. 1480 PRINT
  140. 1490 T1=T+INT(M(X)/N(X)*100)/100
  141. 1500 T2=INT(T1*Z(X)*100)/100
  142. 1510 PRINT "TOTAL TAX: $";T2
  143. 1520 PRINT 
  144. 1530 PRINT
  145. 1540 PRINT " TOTAL BILL: $";T1+T2+INT(A1/N(X)*100)/100
  146. 1550 GOSUB 250
  147. 1560 GOSUB 290
  148. 1570 NEXT K
  149. 1580 GOTO 430
  150. 1590 FOR F=1 TO 3
  151. 1600 X=F
  152. 1610 GOSUB 560
  153. 1620 NEXT F
  154. 1630 GOTO 1110
  155. 1640 DATA 1,1,1,1
  156. 1650 DATA ELECTRIC,KWH,5.40,0,350,1300,.0495,.0565,.0541
  157. 1660 DATA GAS,CCF,4.05,0,99999,99999,.49541,0,0
  158. 1670 DATA WATER,CCF,3.26,0,500,99999,.144,.160,0
  159. 1680 DATA PHONE,13.50,.03
  160. 1690 END
  161.